package org.dromara.web.CssUtil.payUtil.bean;


import org.dromara.web.CssUtil.payUtil.ClearTextUtil;

import java.util.ArrayList;
import java.util.List;

public class BatchTradeAllocateIn {

    private String traceNo;

    private String mchntCd;

    /**
     * 订单流水号列表
     */
    private List<SrcFasSsn> srcFasSsnList = new ArrayList<>();

    /**
     * 分账入账方列表
     */
    private List<AccountIn> accountInlist = new ArrayList<>();

    /**
     * 签名
     */
    private String signature;


    public String generateClearText() {
        List<String> excludeFieldList = new ArrayList<>();
        // 证件类型
        excludeFieldList.add("srcFasSsnList");
        // 身份证号码
        excludeFieldList.add("accountInlist");
        excludeFieldList.add("signature");
        return ClearTextUtil.generateClearText(this, excludeFieldList);
    }

    /**
     * 订单流水号
     */
    public static class SrcFasSsn {
        /**
         * 源交易流水号
         */
        private String srcFasSsn;
        /**
         * 源交易日期
         */
        private String srcFasDate;

        public String getSrcFasSsn() {
            return srcFasSsn;
        }

        public void setSrcFasSsn(String srcFasSsn) {
            this.srcFasSsn = srcFasSsn;
        }

        public String getSrcFasDate() {
            return srcFasDate;
        }

        public void setSrcFasDate(String srcFasDate) {
            this.srcFasDate = srcFasDate;
        }

    }

    /**
     * 分账入账方
     */
    public static class AccountIn {
        /**
         * 分账入账方编号
         */
        private String accountIn;
        /**
         * 分账金额
         */
        public Integer allocateAmt;

        private String invoiceType;

        public String getInvoiceType() {
            return invoiceType;
        }

        public void setInvoiceType(String invoiceType) {
            this.invoiceType = invoiceType;
        }

        public String getAccountIn() {
            return accountIn;
        }

        public void setAccountIn(String accountIn) {
            this.accountIn = accountIn;
        }

        public Integer getAllocateAmt() {
            return allocateAmt;
        }

        public void setAllocateAmt(Integer allocateAmt) {
            this.allocateAmt = allocateAmt;
        }

    }

    public String getTraceNo() {
        return traceNo;
    }

    public void setTraceNo(String traceNo) {
        this.traceNo = traceNo;
    }

    public String getMchntCd() {
        return mchntCd;
    }

    public void setMchntCd(String mchntCd) {
        this.mchntCd = mchntCd;
    }

    public List<SrcFasSsn> getSrcFasSsnList() {
        return srcFasSsnList;
    }

    public void setSrcFasSsnList(List<SrcFasSsn> srcFasSsnList) {
        this.srcFasSsnList = srcFasSsnList;
    }

    public List<AccountIn> getAccountInlist() {
        return accountInlist;
    }

    public void setAccountInlist(List<AccountIn> accountInlist) {
        this.accountInlist = accountInlist;
    }

    public String getSignature() {
        return signature;
    }

    public void setSignature(String signature) {
        this.signature = signature;
    }
}
